<test>
    <settings>
        <allow_experimental_bigint_types>1</allow_experimental_bigint_types>
        <max_memory_usage>15G</max_memory_usage>
    </settings>

    <query>
        SELECT
            reinterpretAsUInt8(a),
            reinterpretAsUInt8(b),
            reinterpretAsUInt8(c),
            reinterpretAsUInt8(d),
            reinterpretAsUInt8(f),
            reinterpretAsUInt8(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(100000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>
    <query>
        SELECT
            reinterpretAsUInt16(a),
            reinterpretAsUInt16(b),
            reinterpretAsUInt16(c),
            reinterpretAsUInt16(d),
            reinterpretAsUInt16(f),
            reinterpretAsUInt16(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(100000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>
    <query>
        SELECT
            reinterpretAsUInt32(a),
            reinterpretAsUInt32(b),
            reinterpretAsUInt32(c),
            reinterpretAsUInt32(d),
            reinterpretAsUInt32(f),
            reinterpretAsUInt32(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(100000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>
    <query>
        SELECT
            reinterpretAsUInt64(a),
            reinterpretAsUInt64(b),
            reinterpretAsUInt64(c),
            reinterpretAsUInt64(d),
            reinterpretAsUInt64(f),
            reinterpretAsUInt64(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(100000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>
    <query>
        SELECT
            reinterpretAsUInt256(a),
            reinterpretAsUInt256(b),
            reinterpretAsUInt256(c),
            reinterpretAsUInt256(d),
            reinterpretAsUInt256(f),
            reinterpretAsUInt256(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(5000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>

    <query>
        SELECT
            reinterpretAsInt8(a),
            reinterpretAsInt8(b),
            reinterpretAsInt8(c),
            reinterpretAsInt8(d),
            reinterpretAsInt8(f),
            reinterpretAsInt8(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(100000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>
    <query>
        SELECT
            reinterpretAsInt16(a),
            reinterpretAsInt16(b),
            reinterpretAsInt16(c),
            reinterpretAsInt16(d),
            reinterpretAsInt16(f),
            reinterpretAsInt16(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(100000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>
    <query>
        SELECT
            reinterpretAsInt32(a),
            reinterpretAsInt32(b),
            reinterpretAsInt32(c),
            reinterpretAsInt32(d),
            reinterpretAsInt32(f),
            reinterpretAsInt32(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(100000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>
    <query>
        SELECT
            reinterpretAsInt64(a),
            reinterpretAsInt64(b),
            reinterpretAsInt64(c),
            reinterpretAsInt64(d),
            reinterpretAsInt64(f),
            reinterpretAsInt64(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(100000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>
    <query>
        SELECT
            reinterpretAsInt128(a),
            reinterpretAsInt128(b),
            reinterpretAsInt128(c),
            reinterpretAsInt128(d),
            reinterpretAsInt128(f),
            reinterpretAsInt128(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(50000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>
    <query>
        SELECT
            reinterpretAsInt256(a),
            reinterpretAsInt256(b),
            reinterpretAsInt256(c),
            reinterpretAsInt256(d),
            reinterpretAsInt256(f),
            reinterpretAsInt256(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(5000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>

    <query>
        SELECT
            reinterpretAsString(a),
            reinterpretAsString(b),
            reinterpretAsString(c),
            reinterpretAsString(d),
            reinterpretAsString(f),
            reinterpretAsString(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(10000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>

    <query>
         SELECT
            reinterpretAsFixedString(a),
            reinterpretAsFixedString(b),
            reinterpretAsFixedString(c),
            reinterpretAsFixedString(d),
            reinterpretAsFixedString(g),

            toUInt64(number) as a,
            toUInt256(number) as b,
            toInt128(number) as c,
            toInt256(number) as d,
            toString(number) as f,
            toFixedString(f, 20) as g
        FROM numbers_mt(50000000)
        SETTINGS max_threads = 8
        FORMAT Null
    </query>

</test>
